﻿namespace PoolKit
{
    /// <summary>
    /// Creates resources
    /// </summary>
    /// <typeparam name="TResource">Type of resource the strategy can handle</typeparam>
    public abstract class ResourceCreationStrategy<TResource> : ResourceStrategy
    {
        /// <summary>
        /// Creates a new resource (<typeparamref name="TResource"/>)
        /// </summary>
        /// <returns>Newly created resource (<typeparamref name="TResource"/>)</returns>
        public abstract TResource Create();
    }
}